package com.ddtech.business.practice.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ddtech.business.practice.entity.PracticeUserRecord;
import com.ddtech.business.practice.query.PracticeUserRecordQuery;

import java.util.Map;

/**
 * <p>
 * 学员练习记录表 服务类
 * </p>
 *
 * @author bin_pu
 * @since 2023-05-26
 */
public interface PracticeUserRecordService extends IService<PracticeUserRecord> {

    Map<String, Object> getStatistics(String userId);

    /**
     * APP今询练习数据统计
     *
     * @return
     */
    Object getStatisticsApp();

    /***
     * description: 近七天练习题目数据
     * @param:  * @param
     * @date: 2023-07-07
     * @return: java.lang.Object
     * @version v1.0
     * @author:wei_zhang(xiao)
     */
    Object getSevenPracticeList();

    /***
     * description: 近15天练习题目数据
     * @param:  * @param
     * @date: 2023-07-07
     * @return: java.lang.Object
     * @version v1.0
     * @author:wei_zhang(xiao)
     */
    Object getHalfMonthPracticeList();

    /**
     * 分页查询列表成绩排名
     * @param practiceUserRecordQuery
     * @return
     */
    Object pageBankList(PracticeUserRecordQuery practiceUserRecordQuery);

    /**
     * description:查询专项检测平均成绩
     * @param:  * @param practiceUserRecordQuery
     * @date: 2023-12-21
     * @return: java.lang.Object
     * @version v1.0
     * @author:wei_zhang(xiao)
     */
    Object typeCHeckList(PracticeUserRecordQuery practiceUserRecordQuery);

    /**
     * description:查询综合检测平均成绩
     * @param:  * @param practiceUserRecordQuery
     * @date: 2023-12-21
     * @return: java.lang.Object
     * @version v1.0
     * @author:wei_zhang(xiao)
     */
    Object allCHeckList(PracticeUserRecordQuery practiceUserRecordQuery);

    /**
     * description:查询所有用户成绩
     * @param:  * @param practiceUserRecordQuery
     * @date: 2023-12-21
     * @return: java.lang.Object
     * @version v1.0
     * @author:wei_zhang(xiao)
     */
    Object allUserGrade(PracticeUserRecordQuery practiceUserRecordQuery);

    /**
     * description:根据部门id查询子集
     * @param:  * @param practiceUserRecordQuery
     * @date: 2023-12-21
     * @return: java.lang.Object
     * @version v1.0
     * @author:wei_zhang(xiao)
     */
    Object queryDeptIds(String deptId);
}
